package com.bestescortbedsystem.service;

import com.bestescortbedsystem.entity.SesUser;
import com.bestescortbedsystem.entity.SesUserOrder;
import com.bestescortbedsystem.entity.UserSearchPojo;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

/**
 * @Author: LuXi
 * @Date: 2021/2/23 14:33
 * @Description:
 */

/**
 * 用户服务层
 */
public interface YongHuService {
    /**
     * 获取全部用户信息
     * @return 用户信息集合
     */
    PageInfo<SesUser> info(UserSearchPojo userSearchPojo, Integer pageNum, Integer pageSize);

    /**
     * 通过 用户Id 获取所有订单信息
     * @param userid
     * @return
     */
    List<SesUserOrder> orderInfo(Long userid);
    void deleteUser(Long userid);

    /**
     * 获取单个用户信息
     * @param userid
     * @return
     */
    public SesUser getUser(Long userid);

    /**
     * 编辑
     * @param sesUser
     */
    public void update_user(SesUser sesUser);



    /**
     * 得到股东信息（包括查询）
     * @return
     * @param guGongName
     * @param minMoney
     * @param maxMoney
     * @param pageNumber
     * @param pageSize
     * @param usertype
     */
    Map<String,Object> getAll(String guGongName, String minMoney, String maxMoney, String pageNumber, String pageSize, String usertype);

    /**
     * 删除股东和分销商
     * @param userId
     * @param usersharingId
     */
    void delGudong(String userId, String usersharingId);

    /**
     * 添加股东和分销商
     * @param renYuanXingMing
     * @param renYuanDianHua
     * @param renYuanJueSe
     * @param touZiJinE
     * @param shouYiFneCheng
     * @param guGongEmial
     * @param ruHuoShijian
     */
    void TianJiaGuDong(String renYuanXingMing, Long renYuanDianHua, Integer renYuanJueSe, Float touZiJinE, Float shouYiFneCheng, String guGongEmial, String ruHuoShijian,String RenYuanMiMa);

    /**
     * 编辑股东和分销商信息(数据回显)
     * @param userId
     * @param usersharingId
     * @return
     */
    Map<String, Object> BianJIGuDong(Long userId, Long usersharingId);

    /**
     * 编辑股东和分销商信息(保存)
     * @param bianJiXingMing
     * @param bianJiDianHua
     * @param bianJiJueSe
     * @param bianJiJinE
     * @param bianJiFneCheng
     * @param bianJiEmial
     * @param bianJiMiMa
     * @param userId
     * @param usersharingId
     */
    void BianJIGuDongBaoCun(String bianJiXingMing, Long bianJiDianHua, Integer bianJiJueSe, Float bianJiJinE, Float bianJiFneCheng, String bianJiEmial, String bianJiMiMa, Long userId, Long usersharingId);

    /**
     * 展示所有会计信息
     * @param kuaiJiName
     * @param kaishitime
     * @param jieshutime
     * @param pageNumber
     * @param pageSize
     * @return
     */
    Map<String, Object> getAllKuaiJi(String kuaiJiName, String kaishitime, String jieshutime, String pageNumber, String pageSize);

    /**
     * 删除会计单个删除
     * @param userId
     */
    void delKuaiJi(String userId);

    /**
     * 添加会计
     * @param sesUser
     */
    void TianJiKuaji(SesUser sesUser);

    /**
     * 编辑会计
     * +++++++++
     * @param userId
     * @return
     */
    Map<String, Object> BianJiKuaji(Long userId);

    /**
     * 编辑股东保存
     * @param sesUser
     */
    void BianJIKuaiJiBaoCun(SesUser sesUser);

    /**
     * 查询所有医院对接人和科室对接人（查询和分页）
     * @param renYuanName
     * @param kaishitime
     * @param jieshutime
     * @param pageNumber
     * @param pageSize
     * @return
     */
    Map<String, Object> getAllYiYuan(String renYuanName,String userJueSe, String kaishitime, String jieshutime, Integer pageNumber, Integer pageSize);

    /**
     * 添加医院对接诶人/科室对接人
     * @param sesUser
     */
    void TianJiaYiYuan(SesUser sesUser);

    /**
     * 删除医院对接人/可是对接人
     * @param userId
     */
    void delYIYuan(Long userId);

    /**
     * 编辑医院对接人/可是对接人（数据回显）
     * @param userId
     * @return
     */
    Map<String, Object> BianJiYiYuan(Long userId);

    /**
     * 编辑医院对接人/可是对接人(保存修改)
     * @param sesUser
     */
    void BianJIYiYuanBaoCun(SesUser sesUser);

    /**
     * 得到所有维修人员信息
     * @param renYuanName
     * @param kaishitime
     * @param jieshutime
     * @param pageNumber
     * @param pageSize
     * @return
     */
    Map<String, Object> getAllWeiXiu(String renYuanName, String kaishitime, String jieshutime, Integer pageNumber, Integer pageSize);

    /**
     * 删除维修人员信息
     * @param userId
     */
    void delWeiXiu(String userId);
    /**
     * 添加维修人员
     */
    void TianJiaWeiXiu(String TUserName,String TUserphone,String TYiYuan,String TKeShi,String Tuseremail,String Tuserregistrationtime,String Tuserpassword);

    /**
     * 编辑维修人员（数据回显）
     * @param userId
     */
    Map<String,Object> BianJiWeiXiu(Long userId);

    /**
     * 编辑维修人员（保存数据）
     * @param username
     * @param userphone
     * @param bYiYuan
     * @param bKeShi
     * @param useremail
     * @param userpassword
     * @param userid
     */
    void BianJiWeiXiuBaoCun(String username, Long userphone, String bYiYuan, String bKeShi, String useremail, String userpassword, Long userid);

    /**
     * 得到维修人员详情
     * @param userid
     * @return
     */
    Map<String,Object> getOneUserWeiXiu(Long userid);

    /**
     * 得到一个人员和分销商信息
     * @param userId
     * @param sid
     * @return
     */
    Map<String, Object> getOneUseGuDong(Long userId, Long sid);
    //得到医院和科室的下拉列表
    Map<String, Object> yiyuankeshiliebiao();
}
